package shark.flow.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import shark.flow.vo.ProcessDefinitionQueryVo;
import shark.flow.vo.ProcessDefinitionVo;

public interface IFlowProcessDefinitionService {

    /**
     * 通过条件查询流程定义
     *
     * @param params
     * @return
     */
    IPage<ProcessDefinitionVo> getPagerModel(ProcessDefinitionQueryVo params);

    /**
     * 通过流程定义id获取流程定义的信息
     *
     * @param processDefinitionId 流程定义id
     * @return
     */
    ProcessDefinitionVo getById(String processDefinitionId);

    /**
     * 挂起流程定义
     *
     * @param processDefinitionId 流程定义id
     * @param suspensionState     状态1挂起 2激活
     */
    boolean suspendOrActivateProcessDefinitionById(String processDefinitionId, int suspensionState);

}
